package com.tools.common.exception;

import com.tools.common.enums.ResultCode;
import lombok.Getter;
import lombok.Setter;

/**
 * 自定义业务异常类
 */
@Getter
@Setter
public class BusinessException extends RuntimeException{
    /**
     * 错误码
     */
    private final int code;

    /**
     * 构造方法
     * @param code 错误码
     * @param message 错误信息
     */
    public BusinessException(int code, String message) {
        super(message);
        this.code = code;
    }

    /**
     * 构造方法，使用预定义的ResultCode
     */
    public BusinessException(ResultCode resultCode) {
        super(resultCode.getMessage());
        this.code = resultCode.getCode();
    }

    /**
     * 构造方法，使用预定义的ResultCode并自定义消息
     */
    public BusinessException(ResultCode resultCode, String message) {
        super(message);
        this.code = resultCode.getCode();
    }

}
